FIXES TO PRODUCTS ON THE -03 REVISION OF THE DCCONNECT CD
---------------------------------------------------------
This file catalogs fixes made to the DCConnect products since we
shipped the -03 revision of the DCConnect CD in September 1997.
Each fix pack that we create is assigned a letter. The first is A,
the second is B, ...
Each fix pack is set up as a self-extracting zip file. There is one fix
pack file for OS/2 and one for Windows/NT.
The self-extracting zip file for OS/2 is called:
OS2FX03n.EXE
where 'n' is the fix pack letter (A, B, ...)
The self-extracting zip file for Windows/NT is called:
NTFX03n.EXE
where 'n' is the fix pack letter (A, B, ...)
The rest of this document will refer to these self-extracting zip files as
OS2FX03n.EXE and NTFX03n.EXE rather than specifying a particular fix pack
letter for 'n'. But when performing any steps below that use these file
names, be sure to use the appropriate fix pack letter in place of 'n'. For
example, for version D of the fix pack, use OS2FX03D.EXE and NTFX03D.EXE.
In addition to describing the fixes made, this file explains how to
install the OS/2 fixes from the OS2FX03n.EXE self-extracting zip file and
the NT fixes from the NTFX03n.EXE self-extracting zip file.
See the bottom of the file for the date of the last change.
Note: Fixes for '752X Emulator for DOS' and fixes for the 'Data Collection
Transaction Building Tool' (aka DCTPB32) are provided in separate fix
packages.
All fix packs are cumulative; you need only install the latest fix pack in
order to get all fixes that apply to the products on the -03 revision of the
DCConnect CD.
If you have the file OS2FX03n.EXE or NTFX03n.EXE you can either create
diskettes from which to install the fixes or you can expand the
file on the hard drive into any empty subdirectory and run the installation
from that subdirectory.
IMPORTANT NOTE FOR ALL USERS:
-----------------------------
These fixes can only be installed if your PC has been rebooted since you
installed from the -03 revision of the DCConnect CD. The installation makes
use of some operating system environment variables (e.g. DCCONN). These
fixes CANNOT be applied to the -02 revision of the DCConnect CD or any
prior version.
EXPANDING AND INSTALLING OS/2 FIXES FROM THE HARD DRIVE
-------------------------------------------------------
To expand and install OS2FX03n.EXE from somewhere on your hard drive,
perform the following steps:
1) Create or choose an empty directory anywhere on your harddrive. For
example: C:\TEMP
2) Copy or download OS2FX03n.EXE to that directory
3) Make sure that directory is the current directory and then run the
executable by typing:
OS2FX03n
This will expand all the files into the current directory.
4) To install the fixes, first make sure none of the DCConnect products are
running and that the current directory is the one containing the expanded
contents of the OS2FX03n executable. Issue the following command:
INSTALL
5) Continue with the section below marked: CHRONOLOGICAL SUMMARY OF
FIXES/CHANGES
EXPANDING AND INSTALLING OS/2 FIXES USING DISKETTES
---------------------------------------------------
If you need to update several OS/2 DCConnect machines with fixes and you want
to run the fix pack installation from diskette, you can use the MAKEDSKS.CMD
command file to create the diskette. Perform the following steps:
1) Create or choose an empty directory anywhere on your harddrive. For
example: C:\TEMP
2) Copy or download OS2FX03n.EXE to that directory
3) Make sure that directory is the current directory and then run the
executable by entering:
OS2FX03n
This will expand all the files into the current directory.
4) To create the diskettes, first get three completely blank, formatted 1.44
3.5 in. diskette. Then run the following command file from the current
directory:
MAKEDSKS
This will prompt you for the diskettes that are needed and copy the
appropriate files to them.
5) To install the fixes contained on the fix diskette, first make sure none
of the DCConnect products are running and make sure the first fix
diskette is in drive A: Issue the following command:
A:\INSTALL
If additional diskettes are needed, they will be prompted for. (Of
course, drive B: could be used for the installation as well).
Note: Once you have created the diskettes, you could also copy the contents
of the diskettes to an empty directory on the target system and then run the
installation from that directory. In fact this is probably faster than
running the installation directly from diskette.
6) Continue with the section below marked: CHRONOLOGICAL SUMMARY OF
FIXES/CHANGES
EXPANDING AND INSTALLING WINDOWS/NT FIXES FROM THE HARD DRIVE
-------------------------------------------------------------
To expand and install NTFX03n.EXE from somewhere on your hard drive,
perform the following steps:
1) Create or choose an empty directory anywhere on your harddrive. For
example: C:\TEMP
2) Copy or download NTFX03n.EXE to that directory
3) Make sure that directory is the current directory and then run the
executable by typing:
NTFX03n
This will expand all the files into the current directory.
4) To install the fixes, first make sure none of the DCConnect products are
running and that the current directory is the one containing the expanded
contents of the NTFX03n executable. Issue the following command:
SETUP
5) Continue with the section below marked: CHRONOLOGICAL SUMMARY OF
FIXES/CHANGES
EXPANDING AND INSTALLING NT FIXES USING DISKETTES
-------------------------------------------------
If you need to update several NT DCConnect machines with fixes and you want
to run the fix pack installation from diskette, you can use the MAKEDSKS.CMD
command file to create the diskette. Perform the following steps:
1) Create or choose an empty directory anywhere on your harddrive. For
example: C:\TEMP
2) Copy or download NTFX03n.EXE to that directory
3) Make sure that directory is the current directory and then run the
executable by entering:
NTFX03n
This will expand all the files into the current directory.
4) To create the diskettes, first get four completely blank, formatted 1.44
3.5 in. diskette. Then run the following command file from the current
directory:
MAKEDSKS
This will prompt you for the diskettes that are needed and copy the
appropriate files to them.
5) To install the fixes contained on the fix diskette, first make sure none
of the DCConnect products are running and make sure the first fix
diskette is in drive A: Issue the following command:
A:\SETUP
If additional diskettes are needed, they will be prompted for. (Of
course, drive B: could be used for the installation as well).
Note: Once you have created the diskettes, you could also copy the contents
of the diskettes to an empty directory on the target system and then run the
installation from that directory. In fact this is probably faster than
running the installation directly from diskette. However, you will be
prompted to insert the additional diskettes as they are needed by the
installation. The prompting dialog box will contain the current drive and
path which should be where the files were copied. You can accept that
location, and the installation will continue.
6) Continue with the section below marked: CHRONOLOGICAL SUMMARY OF
FIXES/CHANGES
CHRONOLOGICAL SUMMARY OF FIXES/CHANGES
--------------------------------------
For each problem, a two character ID will be given indicating which product
had the problem. Here are the IDs:
UI: DCConnect User Interface
SV: DCConnect Server - includes API code
TC: Transaction Connection
IS: 7524 Interface Support
IN: Installation
HP: Help and online documentation
TL: Tools
9-10-97: TC: (NT only) TC2.EXE no longer has debug information in it. It's
much smaller now.
9-11-97: SV: Fixed problem submitting a validation file for the first time.
A -400 error would be given during the rename process. The problem
was that an error was given trying to delete the .VAL file before
the rename since the .VAL file did not exist. This should not have
been considered an error.
A workaround is simply to create the target .VAL file as anything -
and then resubmit. In fact, copying the source to the target
directly would work. If doing the workaround when a submit from
the user interface is being attempted, copy the file when the
validation folder is already displayed. Then choose the submit
option immediately after copying the file.
9-11-97: SV: APAR PQ08235: The poll cycle and slow poll rate parameters were
not being properly passed to the terminal drivers. Instead a poll
cycle of 0.1 second and slow poll rate of 1 minute were always being
used.
Along with this fix, changes were made to the port tasks to
check for a 0 value for the wait time before polls. If the
calculation based on poll cycle and number of terminal polling
yields a 0 value, it is changed to 10ms.
9-11-97: SV: If a request is made to download ETS to a non-7527 terminal, the
server would fail the download with an appropriate message and then
would do retries of that download. Since this kind of failure can
never be fixed, the code has been changed so that retries are not
performed. The message is still given, but the terminal will be
left in its prior state and it will be as if the download request
was never made.
9-22-97: UI: Fixed bug with Mode parameter of WRDO transaction program command
(available only for 7526 terminals). The Asynch setting was never
preserved.
9-25-97: UI: (NT only) Fixed problem with ARTIC configuration during build-
time: The newest version of the ARTIC device driver required the
configuration information to be stored in a different place than
previous drivers. The installation program was corrected for this,
but the build-time configuration program was not changed. This has
now been fixed, and the build-time program correctly configures ARTIC
adapters.
9-26-97: UI: Implemented workaround to get scrolling to work properly despite
compiler bug. In previous releases, the initial display of a folder
would not always be positioned at the top. The positioning is now
correct. However, due to the way we had to work around the compiler
bug, there is a slight flicker because the repositioning of the
window must be done after the initial position is made visible.
9-26-97: SV: Validation file names read from the \DCCONN\VAL directory are now
converted to upper case when stored in the server's internal tables.
In the past, if file names in an HPFS or NTFS directory were in
lower case, they'd be stored as lower case by the server.
9-29-97: SV: Increased the constants DCX_APPL_PATH_LEN and DCX_APPL_PARMS_LEN
to 256 from 128. This was needed because it is fairly easy to
exceed 128 bytes for the command line of a Transaction Connection
application.
9-29-97: SV: DcxDisplayTermText now treats a 7524 like a 7527 in that the row
and column parameters are used. Before this fix, when this API
was used the message was always shown on row 1 for 7524 terminals.
9-29-97: SV: DOS/Windows terminals are no longer time synched.
9-29-97: SV: When shutting down the server, the server now waits up to 2
minutes for all terminal drivers to shut down - including the RF
driver. In the past, the server would shut down even though the RF
driver would not shut down for some time. As a result the user could
restart the server before the RF driver was shut down thus preventing
the RF driver from starting up properly the next time. This is no
longer possible because the server does not fully shut down till
the RF driver and the other drivers are shut down.
9-29-97: HP: Reworded message 265 in help. Also reworded any OS/2 specific
references.
9-29-97: TC: APAR PQ10167: Fixed cause of traps at shutdown in TC2.EXE. The
various threads of TC were not coordinated in their cleanup. You
will now see extra informational messages about when the various TC
threads start and end.
Also fixed problem where a password would be prompted for when
and END_TC, END_DBITS, END_AHISS, ... statement was encountered.
By the way the password it was looking for was $$END$$
9-29-97: TC: On-error processing was not being done in run-with-disconnect
mode for Perform_Insert, Perform_Update, Commit_Changes and
Rollback_Changes.
10-02-97: TC: Fixed problem showing DCConnect return codes in select messages;
negative values were shown incorrectly. References to 'export'
also now changed to 'mailbox'. References to DCC/2 changed to
DCConnect.
10-10-97: TC: User variable names and validation file names are now case-
insensitive. In addition the following keywords are now case
insenstive: CURRENT, IF_FOUND, FOUND, IF_NOT_FOUND and NOT_FOUND.
10-10-97: TC: 0 is now allowed for the length if the data part is TXNDATA.
Before if 0 was specified for this part, you'd get no data. Now
you'll get whatever data is present (based on the DATALEN value).
10-10-97: TC: Log_Error will now retry if it fails - up to 10 times. Log_Data
and Log_Xact already did retries on failure.
----------------------------------------------------------------------------
End of fixes in version A of -03 fix package (November 1997).
----------------------------------------------------------------------------
11-19-97: UI: In transaction program editor, fixed problem deleting a block
of commands if the End of Program marker was also selected.
11-20-97: UI: APAR PQ10807: Fixes for handling of RF Line. Before the fix,
there were scenarios where the RF line setting would be lost or
would be inaccessible. In addition, the GUI couldn't handle an RF
configuration from the DCC/2 32-bit runtime because that used a
line number of 0 instead of 1-4. Another wierd problem that was
fixed involved unlinking of terminals from ARTIC 0 line 1, for
example, when Serial 0 line 1 was RF.
11-20-97: TC: When processing REMOTE_VALIDATION requests, you'd get a harmless,
yet annoying message about invalid start/length for every validation
request that was proceseed. In addition, the VALTYPE value shown in
the topmost box would always be blank. This has been fixed.
Also fixed the trace value shown in the middle box for the command
Send_Term_VResp. Before the fix, it would show FAIL for PASS and it
would show UNKNOWN for FAIL.
11-20-97: SV: Somehow missed updating message 265 to indicate that the RF
shutdown could take up to 1 or 2 minutes; used to say 15 or 20
seconds. This was supposed to be in Fixpack A.
12-03-97: HP: APAR PQ10594: Enhanced description of Remote Validation Timeout
parameter in terminal notebooks. Removed duplicate entry for
Non-prompt Message Display Time.
12-03-97: TC: Minor change to OS/2 version of Transaction Connection to allow
it to work with DCC/2 32-bit runtime. Prior to the change, there
would be a failure to load the data request APIs.
12-04-97: SV: APAR PQ11110: Terminal messages longer than 46 characters will
cause the server to trap during a terminal download operation.
12-04-97: SV: Transactions received from DOS/Windows terminals may have
incorrect transaction ID values.
12-18-97: TC: Write_Xact now takes an additional optional parameter at the end,
to specify a timestamp for the transaction. This parameter can
be a literal string, with or without double quotes, or can be
stored in a user variable. It must be 12 characters long in
the form: YYMMDDHHMMSS.
Write_Xact now allows the terminal name and function group name
to be stored in a user variable or be specified as a literal string.
Write_Xact bug fixed to allow the full length od 32 for terminal
and cluster names.
Massive fixes to Open_File_Data, Read_File_Data and
Close_File_Data to correct problems that were probably introduced
in the NT port. The return codes are now mapped back to what the
online book specifies. The file is no longer required to be in
the TC directory.
Fixed retry count bug on setting terminal user variables, that
could cause DCCONN to go into a very long retry loop for a
terminal which is not responding.
1-29-98: TL: Added a tool for releasing transactions from a mailbox. The
utility RELTX32.EXE can be used to release a single transaction from
a mailbox logfile. Optionally, the transaction that is to be
released can be written to a separate file (RELTX32.OUT). In order
to release more than one transaction, the utility must be run once
for each transaction. This is done to minimize the risk of
releasing more transactions than desired. If necessary, this
program could be called from a command file that loops.
This utility is now available for both OS/2 and Windows/NT.
Previously a 16-bit version called RELTXTN.EXE was available only
for OS/2.
Before this utility can be used, the DCConnect server must be
running. In addition, there cannot be any application running that
reads transactions from the specified mailbox.
This program is located in the \DCCONN\BIN directory and should
run from any directory. It can be run by typing its name and the
name of the mailbox from which a transaction must be released. For
example:
reltx32 SampleDCC
The mailbox name is case sensitve and must match the case of the
mailbox name that is configured in DCConnect. If a transaction from
the specified mailbox is available, it is displayed field by field
and you are asked what to do with the transaction:
- Press 'R' to release it without writing it to file.
- Press 'W' to write it to file (RELTX32.OUT) and then release it.
- Press 'Q' to quit without releasing the transaction.
No matter which option is selected, the program ends.
If you selected the transaction to be written to file, the new
transaction is appended to the end, if that file already exists.
The format of the transaction when written to this file is the
same format as when it was received by the API DcxReadTransaction.
Therefore a program could be written to read the transactions from
this file and write them back into a mailbox using the API
DcxWriteTransaction.
If no transaction is available when this utility is run, the program
continues to check for the arrival of a transaction. During this
time, you can press 'Q' to end the program.
2-09-98: TC: Close from upper left corner or from task list would not call
regular cleanup. It now acts as if a Normal Shutdown was performed.
2-12-98: TC: Certain commands in a Logoff script would cause the logoff
script to loop continuously for about 30 seconds. One example is
a Check_Screen command with a non-zero timeout. This has been
fixed.
2-16-98: TC: A value for MaxXactWait greater than 0 and less than 1000 would
cause a trap. All MaxXactWait values are now rounded up to the
nearest second.
2-17-98: TC: TC would sometimes just disappear if running Flight (a DB/2
program) and Flight trapped. There should be no connection but
an exception was being thrown in some GUI code of TC. We now
catch that exception and ignore it.
2-27-98: TC: Fixed a bug in the Trace output for the Data Request Functions,
that was causing the sender and receiver to be reversed.
3-10-98: TC: Fixed a bug in the Trace output that was truncating transactions,
validation requests and data requests to 80 characters in the trace
file.
3-11-98: TC: Fixed a bug in the trace output that was truncating User
Variable data to 200 bytes, placing a ... in the middle. The
full length of User Variable data will now be written to the
trace file, even for large User Variables which can be 16K
in length.
3-27-98: SV: DcxGetTermUserVariable API is now allowed for the 7524 terminal
type in addition to the 7526.
3-27-98: UI: Fixed bug with fast clocking validation file. If that file was
selected for download and you pressed OK and then came back, the
selection for download would be lost.
4-01-98: SV: Fixed bug in DOS/Windows Terminal Services server side driver.
Each time a DWTS terminal contacted the server, some resources were
allocated which were not returned to the system. If this continued
for a long enough time, the system would become unstable. This
problem has now been corrected.
4-03-98: TC: The Append_UV_UV and Set_UV_UV commands now accept start and
length parameters. The use of these parameters is just like their
equivalents in the Append_UV_Xact_Data command - including the
ability to use user variables for either parameter. If only one
of the two new optional parameters is given, it is assumed to be
the start position.
4-13-98: SV: Made changes to the ARTIC and COMx serial drivers to flush input
buffers before the next write if the previous write resulted in
some a Nak or invalid response. This will help get communications
to get back in synch when commands time out.
4-15-98: TC: Added new command: Get_Length (UVn, DataPart). The first
parameter is the user variable in which to store the length. The
second parameter is the data part whose length is needed. The
values acceptable for these two parameters are the same as the
first two parameters of the Append_UV_Xact_Data command.
The Get_Length command can be useful for parsing portions of data
fields. Here are a couple of examples:
1) To get the last 3 bytes of TXNFIELD6 into UV50:
Get_Length (UV10, TXNFIELD6)
UV_Math(UV10, -, 3)
Set_UV_Xact_Data(UV50, TXNFIELD6, UV10, 3)
2) To get all but the last byte of UV13 into UV50:
Get_Length (UV10, UV13)
UV_Math(UV10, -, 1)
Set_UV_Xact_Data(UV50, UV13, 0, UV10)
4-20-98: SV: The address character in the transaction structure was being
incorrectly set for RF terminals.
4-23-98: TC: The StartMatch command will now properly handle a start=0 and
length=0 comparison in the same way that other commands handle
those values for various data parts.
4-29-98: SV: Fixed reason for erase files command always failing for
7524 and 7527 terminals.
4-30-98: SV: Transactions generated using the API DcxWriteTransaction now
properly put the function group name into the transaction instead
of the job name. This is what happens for all other transactions
that are generated from real terminals.
5-06-98: TL: APAR PQ15737: In the utility for migrating 16-bit program files,
made an adjustment in conversion of messages to account for a bug
that can exist in 16-bit .PGM files. With this bug the message
number included in certain messages is incorrect for the position of
that message.
5-08-98: TC: Added new command: Define_UVs (Total #, # Large) for defining
how many user variables are available for use and of those, how many
are to be of the large size.
The first parameter is the total number of user variables needed.
This value must be larger than 20; there is no maximum - although
some memory is allocated based on this value (about 16 bytes per
user variable), so pick a reasonable value.
The second parameter indicates how many of the total number are to
be allocated as large user variables. Large user variables can hold
16383 bytes of data; the rest of the user variables hold 235 bytes
of data. The number specified for the second parameter can range
from 0 up to the value specified for the first parameter. So if
0 is specified for the second parameter, all user variables will be
small. If the same value is specified for both parameters, all
user variables will be large.
Note: Memory for the actual user variable buffers, small and large,
is only allocated for those user variables that are referenced in
the script.
The large user variables will be the last ones in the set of user
variables. For example, if you specified 200 user variables and
20 of them are large then UV1 through UV 180 will be small and
UV181 through UV200 will be the large ones.
The Define_UVs command must appear in the script before any command
that references a user variable. If the Define_UVs command is not
used, TC acts as it did in the past which is equivalent to using
the command Define_UVs (250, 10).
Here are a couple of examples:
1) To set up 300 user variable of which 50 are large:
Define_UVs(300, 50)
2) To set up 300 user variable of which all are large:
Define_UVs(300, 300)
3) To set up 300 user variable of which all are small:
Define_UVs(300, 0)
----------------------------------------------------------------------------
End of fixes in version B of -03 fix package (June 1998).
----------------------------------------------------------------------------
7-16-98: SV: Fixed problem in TCP/IP terminal driver with the message
sequence number that goes into Are-you-there messages. The
sequence number from the last terminal which sent a command was
being used instead of the one for the target terminal.
This only causes a problem with terminals running the 752x Emulator
for DOS and does not affect 7526 terminals.
When the problem occurs you'll get a terminal that does not
respond to most commands but it will respond to the Are-you-there
messages.
7-23-98: SV: Fixed problem submitting validation files when any DOS/Windows
terminals are in the configuration. The code which determines
which terminals should be downloaded encounters an error
trying to read the job file for a DOS/Windows terminal because
the job files for those have limited information in them.
The server will produce messages DCR0035, DCR0203 and DCR0161
when the problem occurs. The first two indicate an error occurred
reading the job file and the last indicates downloads could not
be started for the submitted validation file.
7-29-98: HP: Added to Tech Ref instructions for getting info about DCRxxxx
messages on Windows/NT (CS2HELP DCRxxxx). Also added to the User's
Guide a section called 'Messages, Errors and Return Codes' that
refers to the related sections in the Tech Ref. Unfortunately we
don't currently have a way to have a link from one book to another.
8-07-98: TC: Added 2 new optional command line parameters and corresponding
script commands that provide a database user-id and password to
be passed on the database connection. This is analogous to the
command line SQL statement: CONNECT TO database USER user_id
USING password.
The format of the new TC command line parameters is:
/DBUSERID=user_id - Where user_id is a valid user id on the
system that is the target of the database
connection. user_id may be 1-8 characters
in length.
/DBPASSWORD=password - Where password is valid for user_id on the
system that is the target of the database
connection. password may be 1-18 characters
in length.
The format of the corresponding new TC script commands is:
DBUSERID ( user_id )
DBPASSWORD ( password )
8-07-98: TC: Changed the user id that will be used when the database bind
creates a package in the target database to USERID. This is only a
concern for DDCS DRDA connections to an AS/400 resident database,
because the AS/400 Collection must be created with this same name
of USERID.
8-07-98: TC: Various new functions added to Transaction Connection, mostly to
allow you to code better bullet-proofing against PCOMM emulator errors.
* Run_Without_Session flag anywhere in script will allow TC to fully start-up
without successfully connecting HLLAPI to the session. TC will spend about 10
seconds attempting to do the HLLAPI connect before giving up and continuing with
the start-up. TC will not automatically attempt to connect any further -- you
must includes SESSION_CONNECT() calls in your script to attempt to get HLLAPI
connected.
* WS_Profile command allows you to specify the Personal Communications (PCOM)
workstation profile to use for the emulator sessions. TC will start its assigned
session automatically if it finds the session is not already running.
* Session_Connect performs the HllConnect attempt in the same manner
as is done at TC start-up time. It will start the PCOMM emulator session
if it does not find it running (if you provide a profile name as a parameter
or in a WS_Profile command)
* Communication_Disconnect will perform a pcsDisconnectSession of the
session from the host. This is the same as clicking on the PCOMM
'Communication/Disconnect' menu items.
* Communication_Connect will perform a pcsConnectSession of the
session from the host. This is the same as clicking on the PCOMM
'Communication/Connect' menu items.
* On_Error_Goto( SESSION, name ) is now supported to allow vector to
your code label/subroutine if an EHLLAPI error OTHER than locked/busy
is encounted.
* Name_UV now support use of the keyword 'NEXT_UV' instead of a 'UVn'
name for the user variable number to be named. For example:
//* Start named variables at UV30 and higher
Name_UV( UV30, uvWorkOrder )
Name_UV( NEXT_UV, uvSalesOrder ) //* This would be UV31
Name_UV( NEXT_UV, uvUserID ) //* and this is UV32...
* Log_Data now supports use of a user variable to hold the output file
name, as well as a new optional return code user variable which allows
you to determine if the write worked and (more importantly) prevents
TC from shutting down if there is contention for the file with another
application.
* New data part SESSION_STATUS can be used to determine if HLLAPI is
currently connected. Values are "1" if connected, "0" if not. Usage
examples:
If( SESSION_STATUS, 0, 0, ==, "0" )
{
//* We are not connected...
Session_Connect()
}
and
Set_UV_Xact_Data( UV1, SESSION_STATUS, 0, 0 )
Note: Start and length values are ignored in this usage
Once connected, only Cycle_Session(DOWN) can cause SESSION_STATUS
to change from 1 back to 0. A Cycle_Session or Session_Connect command
can cause the HLLAPI connection to be made and the status to change
from 0 to 1.
* New data part XACT_AGE allows use of the age in seconds of the incoming txn:
Set_UV_Xact_Data( uvAge, XACT_AGE, 0, 0 )
* DB_NULL_EMPTY / DB_NULL_SPACE / DB_NULL_TEXT allows you to set how you
want database NULL values to appear in user variables. EMPTY means the
user variable will be equal to ""; SPACE means it will come back as " "
(the way TC has always worked to date); TEXT means it comes back as literally
"".
* In command-built SQL, such as SETUP_INSERT_FIELD etc., empty user variables
are converted to '' (empty string) for CHARACTER column types (this is no change
from prior behaviour) while NUMERIC, TIME, DATE, and TIMESTAMP column types
are converted into the text NULL. Previously, these later types of columns
would have converted to an empty string which would have yielded an an SQL
error as it tried to interpret SQL like '... QUANTITY =, TIME_STAMP=,...' .
Free-form SQL (Begin_SQL/End_SQL) works the same way now also.
8-10-98: UI: Fixed problem saving/restoring configuration when more than one
ARTIC adapter is configured.
8-19-98: UI: Fixed DCConnect User Interface trap during start up when
multiple job files are encountered with the same job name.
8-24-98: TC: Several changes/fixes were made to the Log_Error script command.
All error logging now goes through a common routine, so there will
never be a case where different threads can have contention for the
error log. This should eliminate a problem of TC shutting down with
unexpected XIS049:Error opening error log file.
If the error log file legitimately cannot be opened, the error will
be displayed on the screen, along with the error XIS049:Error
opening error log file. TC will no longer shut down on this error,
but will continue processing.
TC will now perform 20 (increased from 10) retries to open the error
log file before displaying a non-fatal XIS049 warning, and
continuing on.
A potential trap resulting from a Log_Error ( UVn ) where the user
variable contained over 200 bytes is fixed.
9-01-98 TC: Added LAST_ERROR data part to provide the EHLLAPI error code for
the last EHLLAPI error encountered. Added more TC2ERRx.LOG tracing
data regarding connection to host screens. Fixed bug in
SESSION_CONNECT which prevented it from properly executing the
On_Error_Goto label upon encountering an error. Made Session_Connect
do a single Communication disconnect/connect cycle if it initially
has trouble getting a HLLAPI connection to the presentation space.
9-23-98: SV: On fast system units after configuration changes to ARTIC
based terminals (e.g. line speed, add additional lines,...)
terminals may fail to respond at next Server start up.
A error DCR0113 ( Error configuring line ...) may be logged
in the message file at start up.
10-1-98: SV: Major changes to server to increase performance for RF and
TCP/IP networks. In the past, DCConnect would send commands to
terminals one at a time; it waited for the response or timeout
for one command before it would send the next. With these changes,
each terminal may have one command in progress. As a result,
communication problems with one terminal will no longer have
an impact on communications with terminals that are working. In
addition, performance on the whole will be greatly improved because
the time between a command and its response will be overlapped
for all terminals.
Note that although the server no longer single threads communications
on the RF and TCP/IP networks, if all terminals are communicating
to a single application for handling transactions, the terminals
will still be single threaded - but by the application. In order
to alleviate that bottleneck, the design of the system should be
set up such that multiple applications are handling transactions
for different terminals.
10-15-98: SV: (NT only) Fixed problem where handles were not being freed
for the API DcxOpenMsgLog - in the case the open did not succeed.
Also fixed bug with DcxCloseValidation which likewise was not
freeing up handles - this time for a close in which no errors
occurred.
10-20-98: UI: Fixed problem in GUI reading in the RF_COMM_LINE parameter
from the EXTRA.CFG file. If there were any spaces between the
equal sign and the text 'COM', the RF line number would incorrectly
show up as line 0 - and no RF terminals would be assigned to it.
The GUI can now handle any number of spaces.
10-21-98: SV: Fixed problem with data request APIs (DcxReadDataRequest and
DcxRequestData) that occurred when 0 was passed for the length.
The subsequent call to receive the data did not always return it
properly. Now it does.
10-21-98: TC: Fixed trap in TC that occurred if a Format_UV command with
the STRIP_TRAILING_CHARS option was executed on a User Variable
of length 0.
10-21-98: TC: Fixed trap in TC that occurred if we got a Transaction ID of 0.
This should never be possible, but due to a bug in DCConnect that
allows multiple TC sessions to connect to the same Mailbox, this
case did occur.
10-22-98: UI: Fixed the size of the popup that is shown when you shutdown the
server and a terminal is downloading.
10-22-98: UI: Fixed problem in application notebook when the application type
is TC and remote validation is selected. A space was missing
between two of the parameters in the command line that was
generated.
10-22-98: SV: Fixed problem on NT where two openings against the same
mailbox causes the first mailbox to become unowned during the
process of rejecting the second open attempt. As a result a third
open attempt would succeed. Continuing in this manner, every other
open attempt would succeed. Now only the first succeeds.
10-29-98: TC: Added 7 special characters to Set/Append_UV_Kbd_Data:
STX, ETX, ESC, CAN, ETB, RS and SUB.
10-29-98: TL: In the DCXGETTX.EXE sample/utility, added optional second
parameter for number of milliseconds between successful reads.
Also, the Cntrl-Break signal is now captured and handled just like
Cntrl-C, allowing the mailbox to be closed properly before the
program ends.
10-30-98: SV: Fixed rare, old problem that could occur on ARTIC and serial
lines with 7527 terminals that were cold-started. A tiny window
existed during the start flush command that could cause commands
to go to wrong terminal if another command were received in that
window.
10-30-98: SV: Messages shown in the server session now include the date/time
stamp at the beginning.
11-01-98: TL: Added an optional second parameter to TESTTERM.EXE: NOPAUSE.
If NOPAUSE is included as the second parameter, the program will
not delay or wait for a key press after any API call - even those
that generate an error. This is useful when calling TESTTERM
repeatedly from a batch file.
11-03-98: SV: Increased the time any task will wait to send a message in the
situation where the message pool is completely full.
11-04-98: TL: The Backup and Restore utility was failing to check the Operating
System type when restoring files from a hard file backup. As a
result, CS2 files from one operating system were restored to the
other. When that happens, CS2 will fail to run - subsequently
DCConnect won't run either. To fix this situation, CS2 has to be
removed and reinstalled.
The fix to the backup/restore utility prevents this problem from
occurring.
----------------------------------------------------------------------------
End of fixes in version C of -03 fix package (November 1998).
----------------------------------------------------------------------------
11-09-98: UI: Fixed the GUI so that it no longer considers a single quote
character illegal for filenames. If a validation file name from
a migrated configuration had a single quote in it's name,
DCConnect would fail to read in most of the configuration. That's
been fixed.
11-10-98: UI: Fixed naming problem with the default function groups that are
created from a migrated configuration (from DCC/2 32-bit runtime).
Before you'd get names like 'Function_Group_xx'. Now the function
group name matches the job name from the 32-bit DCC/2 configuration.
11-10-98: UI: Fixed problem reading in mailbox/routing group (export/export
group) definitions when more than one export/routing group is listed
following the EXPORT_GROUPS keyword of an [EXPORT] definition in
the DCX2.INI file.
11-11-98: SV: Minor change to improve responsiveness of terminals that are
being slow-polled when only a couple of terminals are responding.
11-24-98: SV: Fixed the cause of a trap in DCX.DLL that might occur when
a certain DAE error occurred. The Dr. Watson trap address would
show as 0x00251be7. Also fixed some problems that might possibly
be the cause of the DAE error.
11-25-98: SV: Another fix to DCX.DLL in the area where we initialize DAE
resources. This change closed a timing window which might cause
a trap at the address 0x10034156 or it might cause a -1 return
code (DCX_INTERNAL_ERROR) on API calls when multiple threads
are making API calls simultaneously in the same process. We
believe this problem only existed on Windows/NT and has been
around since the first release of DCConnect.
11-25-98: TC: Added about 20 lines of diagnostic data that gets written to
the TC error log file and error log window on the TC screen
when TC starts up. This will not be meaningful to end users,
nor does it have any affect on TC. This diagnostic information
will make it much more efficient for us here in the lab to
conduct problem determination.
11-25-98: TC: Fixed a local variable corruption that would cause some
strange return codes when reading user variables from
a terminal, or writing user variables to a terminal in SYNCH
mode, and only if the DCConnect call had to be retried due
to an error return from DCConnect.
11-25-98: TC: Added DOUBLE_QUOTE as a control character that can
be used in a Send_To_Host or Append/Set_UV_Kbd_Data.
11-30-98: SV: Fix for the API DcxQueryJobTerms: the list count value
returned was the total number of terminals rather than the
number of terminals using the specified job.
12-01-98: TC: Fixed a trap in the startup of TC. The 2 second timer thread
that closes the "About TC" pop-up window was being started
before the window was created. If the 2 seconds expired on
a slow/busy system, before the window was created, the 2
second timer thread would attempt to destroy a non-existant
window and cause the trap.
12-03-98: TC: Fixed 2 problems with the SendToHost Command relating
to embedded control codes. If a data part or literal contains
an @, you will still get a warning, but warnings will no longer
be issued for pre-defined control codes, which are expected
to contain @s. Also, the scan was skipping the first
character, which could have caused a literal or data part
beginning with an @ to be copied to the host screen as data.
12-04-98: TC: Fixed a trap in TC that would occur if a script executed a
Set/Append_UV_Select_Data with no error label, and the
prior FETCH Command was not done or encountered an error.
TC will now continue processing with the next line of
the script, without clearing or appending to the intended target
user variable. An informational error will be logged to indicate
that the error occurred, and will contain the following message:
XIS102:No valid SELECT data is available for Append_UV_Select_Data
12-04-98: SV: Fix for the API DcxWriteTransaction. If this call is made
when the logfile is full, the return code used to be DCX_FILE_ERROR.
With fix pack C this was changed to DCX_NO_MORE_ROOM. However, we
changed it back to DCX_FILE_ERROR since that is what is
documented for this situation and since Transaction Connection
specifically looks for DCX_FILE_ERROR.
1-14-99: SV: Fix for the API DcxReleaseTransaction. In the situation where
multiple transactions have been read and some but not all of them
are being released, you can get a file read error if the transactions
to be released wrap from the end to the beginning of the file and
the last one to be released is one of the ones at the beginning of
the file.
1-15-99: TC: New trace facility has been added on NT systems only. Tracing is
now handled by a stand alone program( TCTRACE.EXE ). Trace data is
sent to the program by TC2 and it handles opening, logging and
closing of the trace log files. There can be up to ten one megabyte
size log files built for each TC2 session running. When all ten files
are full the oldest file is always used as the current log file. The
log files are named in the following manner: TC2TRCxy.LOG (x = log
file number 0 to 9, y = TC2 session Controller ID).
1-21-99: SV: Added back the 4-13-98 fix for the ARTIC and serial driver
that helped communications get back in synch after commands timed
out. This fix was inadvertently lost during the reorganization of
the server code.
2-4-99: SV: For the TCP/IP and RF terminal drivers a problem was fixed that
could potentially cause commands to get out of synch with their
responses. The timing window for this to actually occur is very
small and probably would never be seen in most customer situations.
If the problem were to occur you would get message DCR323, a SEVERE
error which indicates there was no message queued for a particular
command. You might have also received a trap in one of the terminal
driver modules: td*.exe, gw*.exe or po*.exe
2-12-99: SV: Added the NOAUTOLOAD command line parameter for DCXCPOS2.EXE that
was added to the DCC/2 32-bit runtime product a while back.
This tells the server not to automatically download terminals that
request a download. Instead the terminal is put into the Stopped -
which requires the user to issue the download manually. The following
message is also logged:
DCR0138E: Terminal xxxx is being stopped because it failed
NOAUTOLOAD consecutive downloads/flushes/time synchs.
(We reused an existing message which is not 100% appropriate).
This change was made at the request of a customer using 7524s who
didn't want the download to disrupt performance when a terminal lost
its settings.
To use this feature, simply add the keyword NOAUTOLOAD as a command
line parameter wherever DCXCPOS2.EXE is invoked. Don't use a slash
or any other delimiter.
2-15-99: UI: DCConnect will now preserve the setting of the 'Hourly
Transaction?' parameter (byte 6) of record 0 when reading in and
writing out job files. This option is not accessible from DCConnect
screens. However, if a customer changes the value in the job
file themselves, it will no longer be changed back to the default
value whenever a DCConnect save operation is performed.
2-19-99: TC: Added Check_II (input inhibited) and Check_Busy commands,
allowing more flexibility than that provided by Wait_Until_Unlocked.
Fixed bug in Check... functions which incorrectly showed the
true/false results on the function in the trace file output.
Fixed problem with Check_MW which would cause it to hang if the
timeout was > 0. Added NOT_FOUND_IMMED logic style to the
various Check... functions so that they returned as soon as
the desired text or condition was NOT found (the original
NOT_FOUND logic blocks execution for the entire timeout period
while waiting to see if the text/condition may appear during
the timeout, even if it was not present when first checked).
----------------------------------------------------------------------------
End of fixes in version D of -03 fix package (March 1999).
----------------------------------------------------------------------------